<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkStatusbar</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GTK+ 3 参考手册">
<link rel="up" href="DisplayWidgets.html" title="显示构件">
<link rel="prev" href="gtk3-GtkProgressBar.html" title="GtkProgressBar">
<link rel="next" href="gtk3-GtkInfoBar.html" title="GtkInfoBar">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gtk3-GtkProgressBar.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="DisplayWidgets.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GTK+ 3 参考手册</th>
<td><a accesskey="n" href="gtk3-GtkInfoBar.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gtk3-GtkStatusbar.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gtk3-GtkStatusbar.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="gtk3-GtkStatusbar"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gtk3-GtkStatusbar.top_of_page"></a>GtkStatusbar</span></h2>
<p>GtkStatusbar — Report messages of minor importance to the user</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gtk3-GtkStatusbar.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gtk/gtk.h&gt;

struct              <a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar">GtkStatusbar</a>;
<a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-new" title="gtk_statusbar_new ()">gtk_statusbar_new</a>                   (<em class="parameter"><code><span class="type">void</span></code></em>);
<a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-get-context-id" title="gtk_statusbar_get_context_id ()">gtk_statusbar_get_context_id</a>        (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *context_description</code></em>);
<a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-push" title="gtk_statusbar_push ()">gtk_statusbar_push</a>                  (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> context_id</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-pop" title="gtk_statusbar_pop ()">gtk_statusbar_pop</a>                   (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> context_id</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-remove" title="gtk_statusbar_remove ()">gtk_statusbar_remove</a>                (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> context_id</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> message_id</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-remove-all" title="gtk_statusbar_remove_all ()">gtk_statusbar_remove_all</a>            (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> context_id</code></em>);
<a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-get-message-area" title="gtk_statusbar_get_message_area ()">gtk_statusbar_get_message_area</a>      (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="gtk3-GtkStatusbar.description"></a><h2>Description</h2>
<p>
A <a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> is usually placed along the bottom of an application's
main <a class="link" href="gtk3-GtkWindow.html#GtkWindow" title="GtkWindow"><span class="type">GtkWindow</span></a>. It may provide a regular commentary of the application's
status (as is usually the case in a web browser, for example), or may be
used to simply output a message when the status changes, (when an upload
is complete in an FTP client, for example).
</p>
<p>
Status bars in GTK+ maintain a stack of messages. The message at
the top of the each bar's stack is the one that will currently be displayed.
</p>
<p>
Any messages added to a statusbar's stack must specify a
<span class="emphasis"><em>context id</em></span> that is used to uniquely identify
the source of a message. This context id can be generated by
<a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-get-context-id" title="gtk_statusbar_get_context_id ()"><code class="function">gtk_statusbar_get_context_id()</code></a>, given a message and the statusbar that
it will be added to. Note that messages are stored in a stack, and when
choosing which message to display, the stack structure is adhered to,
regardless of the context identifier of a message.
</p>
<p>
One could say that a statusbar maintains one stack of messages for
display purposes, but allows multiple message producers to maintain
sub-stacks of the messages they produced (via context ids).
</p>
<p>
Status bars are created using <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-new" title="gtk_statusbar_new ()"><code class="function">gtk_statusbar_new()</code></a>.
</p>
<p>
Messages are added to the bar's stack with <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-push" title="gtk_statusbar_push ()"><code class="function">gtk_statusbar_push()</code></a>.
</p>
<p>
The message at the top of the stack can be removed using
<a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-pop" title="gtk_statusbar_pop ()"><code class="function">gtk_statusbar_pop()</code></a>. A message can be removed from anywhere in the
stack if its message id was recorded at the time it was added. This
is done using <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-remove" title="gtk_statusbar_remove ()"><code class="function">gtk_statusbar_remove()</code></a>.
</p>
</div>
<div class="refsect1">
<a name="gtk3-GtkStatusbar.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GtkStatusbar"></a><h3>struct GtkStatusbar</h3>
<pre class="programlisting">struct GtkStatusbar {
  GtkHBox parent_widget;
};
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-statusbar-new"></a><h3>gtk_statusbar_new ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         gtk_statusbar_new                   (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Creates a new <a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> ready for messages.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the new <a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-statusbar-get-context-id"></a><h3>gtk_statusbar_get_context_id ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               gtk_statusbar_get_context_id        (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *context_description</code></em>);</pre>
<p>
Returns a new context identifier, given a description 
of the actual context. Note that the description is 
<span class="emphasis"><em>not</em></span> shown in the UI.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>statusbar</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>context_description</code></em> :</span></p></td>
<td>textual description of what context
the new message is being used in</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>an integer id</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-statusbar-push"></a><h3>gtk_statusbar_push ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               gtk_statusbar_push                  (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> context_id</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre>
<p>
Pushes a new message onto a statusbar's stack.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>statusbar</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>context_id</code></em> :</span></p></td>
<td>the message's context id, as returned by
<a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-get-context-id" title="gtk_statusbar_get_context_id ()"><code class="function">gtk_statusbar_get_context_id()</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>the message to add to the statusbar</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a message id that can be used with
<a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-remove" title="gtk_statusbar_remove ()"><code class="function">gtk_statusbar_remove()</code></a>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-statusbar-pop"></a><h3>gtk_statusbar_pop ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_statusbar_pop                   (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> context_id</code></em>);</pre>
<p>
Removes the first message in the <span class="type">GtkStatusBar</span>'s stack
with the given context id. 
</p>
<p>
Note that this may not change the displayed message, if 
the message at the top of the stack has a different 
context id.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>statusbar</code></em> :</span></p></td>
<td>a <span class="type">GtkStatusBar</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>context_id</code></em> :</span></p></td>
<td>a context identifier</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-statusbar-remove"></a><h3>gtk_statusbar_remove ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_statusbar_remove                (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> context_id</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> message_id</code></em>);</pre>
<p>
Forces the removal of a message from a statusbar's stack. 
The exact <em class="parameter"><code>context_id</code></em> and <em class="parameter"><code>message_id</code></em> must be specified.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>statusbar</code></em> :</span></p></td>
<td>a <span class="type">GtkStatusBar</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>context_id</code></em> :</span></p></td>
<td>a context identifier</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>message_id</code></em> :</span></p></td>
<td>a message identifier, as returned by <a class="link" href="gtk3-GtkStatusbar.html#gtk-statusbar-push" title="gtk_statusbar_push ()"><code class="function">gtk_statusbar_push()</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-statusbar-remove-all"></a><h3>gtk_statusbar_remove_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_statusbar_remove_all            (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> context_id</code></em>);</pre>
<p>
Forces the removal of all messages from a statusbar's
stack with the exact <em class="parameter"><code>context_id</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>statusbar</code></em> :</span></p></td>
<td>a <span class="type">GtkStatusBar</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>context_id</code></em> :</span></p></td>
<td>a context identifier</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-statusbar-get-message-area"></a><h3>gtk_statusbar_get_message_area ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         gtk_statusbar_get_message_area      (<em class="parameter"><code><a class="link" href="gtk3-GtkStatusbar.html#GtkStatusbar" title="struct GtkStatusbar"><span class="type">GtkStatusbar</span></a> *statusbar</code></em>);</pre>
<p>
Retrieves the box containing the label widget.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>statusbar</code></em> :</span></p></td>
<td>a <span class="type">GtkStatusBar</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkBox.html#GtkBox" title="struct GtkBox"><span class="type">GtkBox</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.20</p>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>